This invention generally relates to installation of a software product distributed as a virtual appliance; more particularly, the invention deals with a method, a computer program and a system for managing pre-requisite software including managing license approval of pre-requisite software that are required when deploying a software product virtual appliance.
Virtual appliances are Virtual Machine images comprising at least one software application and at least one Virtual Machine (VM). A virtual appliance can be directly installed on a Virtual Machine Monitor operating on a physical machine. Virtual appliance is a new way of deploying software applications.
From a software packaging and distribution point of view software developers can create a single platform, reducing the cost and complexity of software development and management. Virtual appliances are provided to the user or customer as files, via either electronic downloads or physical distribution. By distributing virtual appliances, the software application manufacturers deliver a turnkey software service to the end user.
It is noted that the new virtual appliances are more complex. Whereas current virtual appliances contain a single VM only, for modern enterprise applications model service oriented architectures (SOA) with multiple tiers, each tier contains one or more machines. A single VM model is thus not sufficient to distribute a multi-tier service and so virtual appliance will be composed of more VMs. For example, a typical web application may consist of three tiers: a web tier that implements the presentation logic, an application server tier that implements the business logic and a back-end database tier. A straightforward implementation would divide this into 3 virtual machines, one for each tier. In this way, the application can scale from the fraction of a single physical host to 3 physical hosts.
One problem with complex virtual appliance installation comes from the fact that the software product vendor may provide a virtual appliance in which the image of the product to be installed in a virtual environment requires additional pre-requisite software. Precisely these ‘pre-requisite software’ comprise one software program or a package which may group software programs and data. These pre-requisite software/packages are not provided with the product itself but the customer has to download and install them (accepting also the related license terms and conditions) before installing the product using the traditional installation approach.
On the other hand, if the vendor decides to provide the virtual appliance in which the product is already installed along with the additional required pre-requisite packages/software this can lead to a non-compliance scenario with the corresponding prerequisite packages/software licenses when the customer will deploy the image in his virtual environment.
The US patent application US20090300604, discloses a method for software dependency resolution during a Virtual Machine installation by enabling a user to select the software contained in the origin repositories in relation to a virtual appliance and for displaying a set of licensing conflicts that might occur during the installation of the corresponding packages. The typical scenario is that a Virtual Machine is instantiated, and, depending on the “SW to be installed”, the proper install-time “SW dependencies” are installed as well. This is quite a general process regardless of the virtualization context.